package crawler.protocol;

import java.io.Serializable;

public class BaseCrawlerInfo implements Serializable {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;


	protected String taskId;     //任务的ID
	protected String urlId;      //URL的ID
	protected String parentUrlId;//当前URL的父URL的ID
	protected String groupName;  //对应Script的jar包文件名（不带后缀）
	protected String taskName;   //对应执行的类名，包含完整包名+类名
	protected String taskUrl;    //初始URL，任务执行的起始URL。（所有URL必须以http或者https开头，特殊情况另议） 
	protected String parentUrl;  //当前URL的父URL，只有起始任务的起始URL没有父URL，后续任务的URL都应该有父URL
	protected String information;//URL附加信息
	protected Integer priority;  //优先级
	protected Integer retry;     //URL失败后的重试次数
	protected Long taskInterval; //任务执行间隔
	protected Long taskTimeOut;  //任务超时时间
	protected Long urlInterval;  //URL执行间隔
	protected Long urlTimeOut;   //URL超时时间
	protected String version;    //版本，Server 下发的version是服务端对应task的最新版本；Client 汇报的version是当前task在客户的版本
	protected Integer scriptType;//脚本类型
	protected Boolean runNow;    //立即执行
	protected String clientGroup;//客户端分组
	
	//client
	protected String clientException;//异常，包括Script的执行异常和客户的运行异常
	protected String data;           //返回的数据
	protected Integer statusCode;    //执行状态码
	protected String statusMsg;      //执行状态信息
	
	//server
	protected Boolean multiThreading;//多线程执行
	protected String fileMD5;        //文件的MD5
	protected Long startTime;        //URL开始执行的时间，即URL正常下发的时间
	
	
}
